草庐IT

JavaDoc - 我可以将方法分组吗?

全部标签

ruby-on-rails - 为数据库中的多个客户端创建 "walled gardens"的最佳方法是什么?

我正在建立一个SaaS风格的网站,其中我将让多个客户在同一个站点上管理他们的工作流程和数据,因此也管理同一个数据库。我什至不确定这个概念是否有一个词,但是是否有任何既定的自动分离数据的方法,以便对数据库的任何ActiveRecord调用都被用户的正确client_id过滤/限制已登录?当然,最直接的方法是在每个ActiveRecord请求的末尾添加一个“whereclient_id=?”并将用户的客户端ID放入...。模型是否有任何前置过滤器的想法,以便任何查找方法(包括动态方法)都会自动将client_id添加到它们?所以我可以只执行Model.find_by_what_I_want

ruby - 我可以覆盖任务 :environment in test_helper. rb 来测试 rake 任务吗?

我在Rakefile中有一系列rake任务,我想将其作为我的规范等的一部分进行测试。每个任务都以以下形式定义:task:do_somthing=>:environmentdo#Dosomethingwiththedatabasehereend:environment任务设置ActiveRecord/DataMapper数据库连接和类。我没有将其用作Rails的一部分,但我有一系列测试,我喜欢将其作为BDD的一部分运行。此片段说明了我如何尝试测试rake任务。defsetup@rake=Rake::Application.newRake.application=@rakeloadFile

ruby-on-rails - 是否可以在 gem 中包含用户可以部分呈现的 View ?

假设我正在制作gem“awesome_o”,它将使应用程序变得很棒。我如何打包一些View部分,以便用户可以选择在他/她的应用程序中使用它们,例如:'#{some_path_to_awesome_o}/list_of_awesome'%>这可能吗? 最佳答案 据我了解,如果您在gem的底部创建一个app/views目录,Rails会将其添加到View加载路径中。因此,在app/views/my_gem/my_partial.html.ext创建您的部分,然后render:partial=>'my_gem/my_partial'应该会

ruby - 与 Ruby 的 CGI.parse 方法完全相反?

我想对查询参数进行一些清理。我用CGI.parse解析查询,然后我删除了一些参数,但我找不到相反的方法来构建查询。我真的不想做类似的事情params.map{|n,v|"#{CGI.escapen}=#{CGI.escapev.to_s}"}.join("&")必须有更简单的方法。有吗? 最佳答案 URI模块中有一个很好的方法:require'uri'URI.encode_www_form("q"=>"ruby","lang"=>"en")#=>"q=ruby&lang=en" 关于ru

ruby 正则表达式和分组

我有以下文字'some-text-here'并尝试获取'text'使用组从中提取单词。如果我使用那个表达式/some-(\w+)-here/一切正常,但如果我尝试对其应用分组/some-(?\w+)-here/它引发了一个错误Undefined(?...)sequence.我做错了什么?(ruby1.9.2)更新:我真丢人。这一切都是出于我的本能。是的,我已经使用RVM并且我的ruby​​版本开启了1.9.2。但我已经在http://rubular.com/测试了该表达式它写在页脚RubularrunsonRuby1.8.7.Ruby1.8.7和Ruby1.9.2有不同的正则表达式引擎

ruby - 我可以检测到某个方法已被覆盖吗?

假设这里有一些我不知道的任意库代码:classFoodefhiendendclassBar假设我有一些代码将Bar作为参数传递给了我。defcheck(x)do_something_with(x.method(:hi))end在上面的例子中,我能知道x.hi(其中x引用Bar的实例)与Foo#hi?根据Gareth的回答,这是我目前得到的:defis_overridden?(method)name=method.name.to_symreturnfalseif!method.owner.superclass.method_defined?(name)method.owner!=meth

ruby - 是否有一个 Rack 中间件可以在没有 cookie 的情况下使用 session ?

Rack自带的session管理中间件都是基于cookie来识别用户的。由于我正在开发一个api,我宁愿将sessionID作为查询字符串参数显式传递。查看代码库,似乎没有考虑这个用例,因为所有session中间件都从一个公共(public)类扩展,读取/写入cookie。所以我的问题是-是否有一个项目维护替代的Rack中间件或Rack内置中间件的猴子补丁,这将允许我维护查询字符串上的sessionID,而不是cookie存储? 最佳答案 Rack可以使用自定义sessionID项代替cookie:require'rack/sess

ruby - 带括号和不带括号的方法调用的优先级是什么?

以前的答案answer类似question是错误的。Ruby中均未提及方法调用documentation也不在communitywiki.不带括号的方法调用高于或or似乎比没有括号的方法调用具有更低的优先级:putsfalseortrue相当于(putsfalse)ortrue并显示false。注意:我知道不应该使用or。尽管如此,这仍然是一个很好的例子,表明某些运算符的优先级确实低于方法调用。低于||putsfalse||true相当于puts(false||true)并显示true。带括号的方法调用用于方法调用的括号don'tseem进行分组:puts(falseortrue)#S

arrays - 查看另一个字符串中是否包含大量字符串的更快方法

我有一个存储在数组中的大约30万个常用词的列表。因此,数组的1个元素=1个单词。另一方面,我有一个巨大的字符串列表,其中可能包含这30万个单词中的一个或多个。示例字符串为:ifdxawesome453。现在,我需要根据常用词检查这些长字符串中的每一个。如果在该字符串中找到一个单词,则立即返回。因此,我需要再次检查这30万个单词ifdxawesome453并查看其中是否包含任何单词。所以我做的是:huge_list_of_words.any?do|word|random_long_word.include?(word)end虽然这对于随机长单词的小样本来说没问题,但如果我有数百万个单词,

ruby-on-rails - 在我的 Rails Controller 方法中运行线程

我有一组数据,我想在我的Rails应用程序中对其进行一些计算,每个计算都是相互独立的,所以我想对它们进行线程化,以便我的响应更快。这是我的ATM:defshow@stats=Stats.newThread.new{@stats.top_brands=#RESULTOFFIRSTCALCULATION}Thread.new{@stats.top_retailers=#RESULTOFSECONDCALCULATION}Thread.new{@stats.top_styles=#RESULTOFTHIRDCALCULATION}Thread.new{@stats.top_colors=#R